package com.tecnoagrosoft.zafra.control.activity.fragment;

import java.util.ArrayList;

import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.AdapterView.OnItemClickListener;
import com.tecnoagrosoft.zafra.control.activity.R;
import com.tecnoagrosoft.zafra.control.activity.ResumenSeguimientoActivity;
import com.tecnoagrosoft.zafra.control.db.GenericManager;
import com.tecnoagrosoft.zafra.control.db.GestorDB;
import com.tecnoagrosoft.zafra.control.model.android.ItemsList;
import com.tecnoagrosoft.zafra.control.utils.AdaptadorList;

public class ResumenSeguimientoFragment extends Fragment {

	View rootView;
	private ListView lista;
	GestorDB gestorDB;

	@Override
	public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

		rootView = inflater.inflate(R.layout.fragment_resumen_seguimiento, container, false);

		loadtable();
		return rootView;
	}

	private void loadtable() {

		ArrayList<ItemsList> datos = new ArrayList<ItemsList>();

		gestorDB = new GestorDB(rootView.getContext());
		SQLiteDatabase db = gestorDB.getWritableDatabase();

		GenericManager gM = new GenericManager(db);

		String[] columns = { "_id", "descripcion", "grano_id", "tipo_zafra", "total_resumen", "total_liquidado", "total_haber", "fecha_creacion" };
		Cursor c = gM.getObjectWhereByOrder("resumen_seguimiento", columns, null, "fecha_creacion DESC");

		String[] columnsGrano = { "_id", "descripcion" };

		if (c.moveToFirst()) {
			do {

				Cursor cg = gM.getObjectById("grano", columnsGrano, c.getInt(c.getColumnIndex("grano_id")));

				datos.add(new ItemsList(Integer.parseInt(c.getString(0)), R.drawable.seguimiento, cg.getString(cg.getColumnIndex("descripcion")), c.getString(c
						.getColumnIndex("descripcion"))));
				cg.close();

			} while (c.moveToNext());
		} else {
			datos.add(new ItemsList(0, R.drawable.seguimiento, getString(R.string.men_no_nofiticaciones), getString(R.string.graciasConfiar)));
		}

		c.close();
		gM.close();
		db.close();
		gestorDB.close();

		lista = (ListView) rootView.findViewById(R.id.ListView_resumen_seguimento);
		lista.setAdapter(new AdaptadorList(rootView.getContext(), R.layout.item_list, datos) {
			@Override
			public void onEntrada(Object entrada, View view) {
				if (entrada != null) {
					TextView texto_id_item = (TextView) view.findViewById(R.id.texto_item_id);
					if (texto_id_item != null)
						texto_id_item.setText(((ItemsList) entrada).getId().toString());

					TextView texto_superior_entrada = (TextView) view.findViewById(R.id.textoTitulo_item_list);
					if (texto_superior_entrada != null)
						texto_superior_entrada.setText(((ItemsList) entrada).getTextoTitulo());

					TextView texto_inferior_entrada = (TextView) view.findViewById(R.id.textoDescripcion_item_list);
					if (texto_inferior_entrada != null)
						texto_inferior_entrada.setText(((ItemsList) entrada).getTextoDescripcion());

					ImageView imagen_entrada = (ImageView) view.findViewById(R.id.imagen_item_list);
					if (imagen_entrada != null)
						imagen_entrada.setImageResource(((ItemsList) entrada).getIdImagen());
				}
			}
		});

		lista.setOnItemClickListener(new OnItemClickListener() {

			@Override
			public void onItemClick(AdapterView<?> pariente, View view, int posicion, long id) {
				ItemsList elegido = (ItemsList) pariente.getItemAtPosition(posicion);

				if (elegido.getId() != 0) {
					Intent i = new Intent(rootView.getContext(), ResumenSeguimientoActivity.class);
					i.putExtra(GestorDB.C_MODO, GestorDB.C_EDITAR);
					i.putExtra("id", elegido.getId());
					startActivityForResult(i, GestorDB.C_EDITAR);
				}
			}
		});

	}



}
